Trace Based Compilation in Interpreter-less Execution Environments

نویسندگان

  • Michael Bebenita
  • Mason Chang
  • Karthik Manivannan
  • Gregor Wagner
  • Marcelo Cintra
  • Bernd Mathiske
  • Andreas Gal
  • Christian Wimmer
  • Michael Franz
چکیده

Trace based compilation is a technique used in managed language runtimes to detect and compile frequently executed program paths. The goal is reduced compilation time and improved code quality since only “hot” parts of methods are ever compiled. Trace compilation is well suited for interpreter based runtime environments because the control flow of an application program is highly visible and recordable. In this technical report, we show that trace compilation is also feasible and beneficial in runtime environments without interpreters. We present the implementation of a trace based Java compiler for the meta-circular Maxine Virtual Machine from Sun Microsystems. Maxine uses a tiered compilation strategy. Methods are first compiled with a non optimizing JIT compiler in order to collect profiling information, and then recompiled with an optimizing compiler for long term execution. We record traces via dynamic insertion and removal of instrumentation code in non optimized methods. We then optimize and link recorded traces using the already existing optimizing compiler.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

STRAF: A Scala Framework for Experiments in Trace-Based JIT Compilation

We introduce straf, a Scala framework for recording and optimizing execution traces of an interpreter it is composed with. For interpreters that satisfy the requirements detailed in this paper, this composition requires but a small effort from the implementer to result in a trace-based JIT compiler. We describe the framework, and illustrate its composition with a Scheme interpreter that satisfi...

متن کامل

Vrije Universiteit Brussel STRAF: A Scala Framework for Experiments in Trace-Based JIT Compilation Vandercammen, Maarten; Stiévenart, Quentin; De Meuter, Wolfgang; De Roover, Coen

We introduce straf, a Scala framework for recording and optimizing execution traces of an interpreter it is composed with. For interpreters that satisfy the requirements detailed in this paper, this composition requires but a small effort from the implementer to result in a trace-based JIT compiler. We describe the framework, and illustrate its composition with a Scheme interpreter that satisfi...

متن کامل

Dynamic Look Ahead Compilation: A Technique to Hide JIT Compilation Latencies in Multicore Environment

Object-code virtualization, commonly used to achieve software portability, relies on a virtual execution environment, typically comprising an interpreter used for initial execution of methods, and a JIT for native code generation. The availability of multiple processors on current architectures makes it attractive to perform dynamic compilation in parallel with application execution. The major ...

متن کامل

A flexible framework for studying trace-based just-in-time compilation

Just-in-time compilation has proven an effective, though effort-intensive, choice for realizing performant language runtimes. Recently introduced JIT compilation frameworks advocate applying meta-compilation techniques such as partial evaluation or meta-tracing on simple interpreters to reduce the implementation effort. However, such frameworks are few and far between. Designed and highly optim...

متن کامل

A Study of the JavaScript Compiler and Symbol Table for the Smart Cross Platform

Smart Cross Platform (SCP) is virtual machine based solution that supports various programming languages and platforms, and its aims are to support programming languages like ISO/IEC C++, Java and Objective C and smartphone platforms such as Android and iOS. Java Script is a programming language to develop HTML5 contents, and the contents are executed by interpreter which included in web browse...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010